home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_pas / ootp_4 / list10_7.pas < prev    next >
Pascal/Delphi Source File  |  1990-02-19  |  2KB  |  57 lines

  1. program List10_7; { Listing 10-7 }
  2.  
  3. uses Graph, Mouse, Crt, RobotSeg, Robot_B;
  4. var
  5.    Hand,Arm : RobotArm2;
  6.    P0 : Point;
  7.  
  8.    x, y : integer;
  9.  
  10.    GraphDriver : integer;
  11.    GraphMode   : integer;
  12.    ErrorCode   : integer;
  13.    GlobalAnchorX,
  14.    GlobalAnchorY,
  15.    ArmLength,
  16.    HandLength  : integer;
  17.  
  18. begin
  19.      GraphDriver := Detect;
  20.      InitGraph(GraphDriver, GraphMode, 'E:\TP');
  21.      ErrorCode := GraphResult;
  22.      if ErrorCode <> grOK then
  23.         Writeln('Graphics error');
  24.  
  25.      GlobalAnchorX := Round(GetMaxX/3);
  26.      GlobalAnchorY := Round(GetMaxY/2);
  27.      ArmLength     := Round(GetMaxY/2.5);
  28.      HandLength     := Round(GetMaxY/2.7);
  29.  
  30.      Graph.SetColor(white);
  31.      SetTextStyle( DefaultFont, HorizDir, 2);
  32.      OutTextXY( Round(GetMaxX/1.5), Round(GetMaxY*4/5), 'Robot ''B''' );
  33.      Arm.Init( GlobalAnchorX, GlobalAnchorY,
  34.                ArmLength, HandLength,
  35.                0, false, true, @Hand);
  36.      P0.Init( 0,0);
  37.      if MouseInit = true then
  38.         ;
  39.      MouseShow;
  40.      repeat
  41.            repeat
  42.            until MouseLPressed or KeyPressed;
  43.            if not KeyPressed then
  44.               begin
  45.               P0.Hide;
  46.               repeat
  47.                     MouseCoords( x, y );
  48.               until MouseLReleased;
  49.               MouseHide;
  50.               P0.Init( x, y );
  51.               P0.Show;
  52.               Arm.MoveTo( P0, true );
  53.               P0.Show;
  54.               MouseShow;
  55.               end;
  56.      until KeyPressed;
  57. end.